home *** CD-ROM | disk | FTP | other *** search
/ Game.EXE 2001 January / execd1200.iso / Shareware / Blocks 3 / setup.exe / Source / TRANS.C < prev    next >
Encoding:
C/C++ Source or Header  |  2000-10-04  |  1.6 KB  |  86 lines

  1. #include <allegro.h>
  2. #include <jgmod.h>
  3. #include <blocks3.h>
  4.  
  5. void Transition_Out(BITMAP *pic, PALLETE pal)
  6. {
  7.  BITMAP *temp2 = create_bitmap(640, 480);
  8.  PALLETE rgb;
  9.  int i, j, k, l;
  10.  int x, y;
  11.  
  12.  for (i = 2; i < 30; i+=2)
  13.  {
  14.   for (j = 0; j < 700; j += i)
  15.   for (k = 0; k < 500; k += i*479/640)
  16.   {
  17.    x = j + i;
  18.    y = k + i*480/640;
  19.    if (x > 640) x = 640;
  20.    if (y > 480) y = 480;
  21.  
  22.    rectfill(screen, j, k, x, y, getpixel(pic, (j + x)/2, (k + y)/2));
  23.   }
  24.  for (l = 0; l < 255; l++)
  25.  {
  26.   rgb[l].r = pal[l].r*(30-i)/30;
  27.   rgb[l].g = pal[l].g*(30-i)/30;
  28.   rgb[l].b = pal[l].b*(30-i)/30;
  29.  }
  30.  
  31.    set_pallete(rgb);
  32.  while (time_count < 5);
  33.  time_count = 0;
  34. /*  blit(temp2, screen, 0, 0, 0, 0, 640, 480);*/
  35.  }
  36. }
  37.  
  38. void Transition_In(BITMAP *pic, PALLETE pal)
  39. {
  40.  BITMAP *temp2 = create_bitmap(640, 480);
  41.  PALLETE rgb;
  42.  int i, j, k, l;
  43.  int x, y;
  44.  
  45.  for (i = 0; i < 255; i++)
  46.  {
  47.   rgb[i].r = 0;
  48.   rgb[i].g = 0;
  49.   rgb[i].b = 0;
  50.  }
  51.  
  52.  set_pallete(rgb);
  53.  
  54.  for (i = 30; i > 2; i-=2)
  55.  {
  56.   for (j = 0; j < 700; j += i)
  57.   for (k = 0; k < 500; k += i*479/640)
  58.   {
  59.    x = j + i;
  60.    y = k + i*480/640;
  61.    if (x > 640) x = 640;
  62.    if (y > 480) y = 480;
  63.  
  64.    rectfill(screen, j, k, x, y, getpixel(pic, (j + x)/2, (k + y)/2));
  65.   }
  66.  
  67.  for (l = 0; l < 255; l++)
  68.  {
  69.   rgb[l].r = pal[l].r*(30-i)/30;
  70.   rgb[l].g = pal[l].g*(30-i)/30;
  71.   rgb[l].b = pal[l].b*(30-i)/30;
  72.  }
  73.  
  74.    set_pallete(rgb);
  75.  
  76. /* while(!key[KEY_F1]);
  77.  while(key[KEY_F1]);*/
  78.  while (time_count < 5);
  79.  time_count = 0;
  80. /*  blit(temp2, screen, 0, 0, 0, 0, 640, 480);*/
  81.  }
  82.  
  83.  set_pallete(pal);
  84.  blit(pic, screen, 0, 0, 0, 0, 640, 480);
  85. }
  86.